home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / B-Business / (c)b3.d64 / easy edit.c (.txt) < prev    next >
Commodore BASIC  |  2008-11-26  |  4KB  |  149 lines

  1. 0 PRINT"[147]EASY EDIT[146]...ROBERT E. DRAKE (C)80/10/07"
  2. 1 POKE53280,0:POKE53281,0:PRINT"MODIFIED FOR C64 BY DAVID BRADLEY[146]"
  3. 2 PRINTCHR$(142):INPUT"UPPER CASE ONLY  Y[157][157][157]";A$:IFA$="N"THENPRINTCHR$(14)
  4. 3 NM=1:DIMTX$(60):CR$=CHR$(13):DL$=CHR$(20):IN$=CHR$(148)
  5. 4 GOSUB111
  6. 5 GETA$:IFA$=""THEN5
  7. 6 IFA$="[147]"THENPRINTA$:GOTO4
  8. 7 K=0:FORI=1TO7:IFA$=MID$("ECSAPQL",I,1)THENK=I:I=7:GOTO8
  9. 8 NEXT
  10. 9 IFK<>0THENONKGOSUB11,16,52,57,66,89,90
  11. 10 GOTO5
  12. 11 GOSUB110:REM INPUT TEXT
  13. 12 IFNM>55THENPRINT"TEXT AREA FULL":RETURN
  14. 13 A$=STR$(NM):JJ=60:GOSUB114:GOSUB119:IFSR$="NIL"THENSR$="":GOSUB110:RETURN
  15. 14 TX$(NM)=SR$:SR$="":PRINT
  16. 15 NM=NM+1:GOTO12
  17. 16 REM CHANGE TEXT
  18. 17 PRINT"[147]ENTER SCREEN SAVE PRINT QUIT LOAD"
  19. 18 PRINT"CHANGE:[146]                              "
  20. 19 PRINT"CHANGE:[146]";:INPUT"WHICH LINE   [191][157][157][157]";S
  21. 20 PRINT"CHANGE[146]:P[146]ART D[146]ELETE R[146]EPLACE I[146]NSERT C[146]OPY
  22. 21 [153]:[153]TX$(S)
  23. 22 [161]A$
  24. 23 [139]A$[178][199](13)[167][137]51
  25. 24 K[178]0:[129]I[178]1[164]5:[139]A$[178][202]("PDRIC",I,1)[167]K[178]I
  26. 25 [130]
  27. 26 [139]K[179][177]0[167][145]K[137]30,39,42,45,28
  28. 27 [137]22
  29. 28 [133]"COPY TO LINE #";H:TX$(H)[178]TX$(S):[139]H[177][178]NM[167]NM[178]H[170]1
  30. 29 [137]51
  31. 30 A$[178]"CHANGE WHAT":JJ[178]30:[141]114:[141]119:C$[178]SR$:SR$[178]"":[143] CHANGE
  32. 31 [153]:A$[178]"TO WHAT":JJ[178]30:[141]114:[141]119:B$[178]SR$:SR$[178]"":[139]B$[178]"NIL"[167]B$[178]""
  33. 32 Y[178]0:[129]T[178]1[164][195](TX$(S))
  34. 33 [139]C$[178][202](TX$(S),T,[195](C$))[167]Y[178]T:T[178][195](TX$(S))
  35. 34 [130]
  36. 35 [139]Y[178]0[167][141]111:[137]51
  37. 36 TX$(S)[178][200](TX$(S),Y[171]1)[170]B$[170][201](TX$(S),[195](TX$(S))[171]Y[171][195](C$)[170]1)
  38. 37 [153]:[153]"NEW LINE:"
  39. 38 [153]""TX$(S):[129]I[178]1[164]1600:[130]:[137]51
  40. 39 [129]I[178]S[164]NM:[143] DELETE THE LINE
  41. 40 TX$(I)[178]TX$(I[170]1):[130]
  42. 41 TX$(NM)[178]"":NM[178]NM[171]1:[137]51
  43. 42 A$[178][196](S):JJ[178]60:[141]114:[141]119:[143] REPLACE THE LINE
  44. 43 [139]SR$[178]"NIL"[167]SR$[178]"":[137]51
  45. 44 TX$(S)[178]SR$:SR$[178]"":[137]51
  46. 45 [139]NM[178]56[167][153]"CAN'T..OUT OF LINES":[129]I[178]1[164]1600:[130]:[137]51:[143] INSERT
  47. 46 NM[178]NM[170]1
  48. 47 [129]I[178]NM[164]S[169][171]1:TX$(I)[178]TX$(I[171]1):[130]:TX$(S)[178]""
  49. 48 A$[178][196](S):JJ[178]60:[141]114:[141]119
  50. 49 [139]SR$[178]"NIL"[167]SR$[178]"":[137]39
  51. 50 TX$(S)[178]SR$:SR$[178]""
  52. 51 [141]111:[142]
  53. 52 [141]111:[143] SCREEN PRINT
  54. 53 [133]"FROMWAIT  SINCMDCMDCMD";S
  55. 54 [153]""[166]10);:[133]"TOWAIT  SINCMDCMDCMD";F
  56. 55 [129]I[178]S[164]F:[153]""I"WAIT"TX$(I):[130]
  57. 56 [142]
  58. 57 [141]111:[141]144:[143] SAVE
  59. 58 D[178]1:SA[178]1:F$[178]FILE$:[139]A$[178]"D"[167]FILE$[178]"0:"[170]FILE$[170]",S,W":D[178]8:SA[178]10:[137]62
  60. 59 [153]"INSERT YOUR TAPE IN THE TAPE DRIVE
  61. 60 PRINT"PRESS A KEY TO CONTINUE."
  62. 61 GETA$:IFA$=""THEN61
  63. 62 OPEN1,D,SA,FILE$
  64. 63 PRINT#1,F$;CR$;
  65. 64 FORI=1TONM:TX$(I)=")"+TX$(I):PRINT#1,TX$(I);CR$;:TX$(I)=RIGHT$(TX$(I),LEN(TX$(I))-1):NEXT
  66. 65 PRINT#1,"ZZZZZ";CR$;:CLOSE1:GOSUB111:RETURN
  67. 66 GOSUB111:REM PRINTER
  68. 67 INPUT"DOUBLE SPACE[146]  N[157][157][157]";SP$
  69. 68 PRINT"PUT YOUR PAPER IN THE PRINTER"
  70. 69 PRINT"IF YOU DO NOT WISH A TITLE, JUST PRESS  RETURN."
  71. 70 INPUT"TITLE  [160][157][157][157]";A$
  72. 71 IFA$="[160]"THENA$="  "
  73. 72 OPEN1,4:PRINT#1,CHR$(1),A$
  74. 73 CLOSE1:OPEN1,4,1
  75. 74 A$=""
  76. 75 FORI=1TO80:A$=A$+"A":NEXT
  77. 76 OPEN2,4,2:PRINT#2,A$:CLOSE2
  78. 77 FORI=1TONM:FLAG=2
  79. 78 IFPEEK(59468)=12THENPRINT#1,CHR$(160)TX$(I):GOTO87
  80. 79 IFTX$(I)=""THENPRINT#1:GOTO88
  81. 80 FORY=1TOLEN(TX$(I))
  82. 81 A=ASC(MID$(TX$(I),Y,1))
  83. 82 IFFLAG<>1THENIF((A>182)AND(A<219))THENY$="[145]"+CHR$(A-128):FLAG=1::GOTO85
  84. 83 IFFLAG=1ORFLAG=2ANDA>64ANDA<91THENY$=""+CHR$(A):FLAG=0:GOTO85
  85. 84 Y$=CHR$(A):IFA>182ANDA<219THENY$=CHR$(A-128)
  86. 85 Z$=Z$+Y$:NEXT
  87. 86 PRINT#1,CHR$(160),Z$:Z$=""
  88. 87 IFSP$="Y"THENPRINT#1
  89. 88 NEXT:CLOSE1:GOSUB111:RETURN
  90. 89 PRINT"[147]GOTO 4":END:REM QUIT
  91. 90 REM LOAD
  92. 91 GOSUB111:IFNM=55THENPRINT"FILE FULL[146]":RETURN
  93. 92 GOSUB144
  94. 93 D=1:SA=0:IFA$="D"THENFILE$="0:"+FILE$+",S,R":D=8:SA=10:GOTO98
  95. 94 PRINT"MOUNT YOUR TAPE. BE SURE IT IS REWOUND
  96. 95 [153]"PRESS A KEY TO CONTINUE
  97. 96 GETA$:IFA$=""THEN96
  98. 97 IFFILE$="[160]"THENFILE$=""
  99. 98 OPEN1,D,SA,FILE$
  100. 99 INPUT#1,A$
  101. 100 PRINT"LOADING:"A$
  102. 101 INPUT#1,A$
  103. 102 IF(ST)AND64THEN109
  104. 103 IFA$="ZZZZZ"THEN109
  105. 104 TX$(NM)=RIGHT$(A$,LEN(A$)-1)
  106. 105 PRINTTX$(NM)
  107. 106 NM=NM+1
  108. 107 IFNM=56THENGOTO109
  109. 108 GOTO101
  110. 109 CLOSE1:GOSUB111:RETURN
  111. 110 REM MENU
  112. 111 PRINT"[147]E[146]NTER S[146]CREEN SA[146]VE P[146]RINT Q[146]UIT L[146]OAD
  113. 112 [153]"CWAITHANGE:PART,DELETE,REPLACE,INSERT,COPY
  114. 113 RETURN
  115. 114 REM RED 80/06/30
  116. 115 PRINT""A$"   ";
  117. 116 PRINT"---------+---------+---------*---------+---------+----------"
  118. 117 PRINT:PRINT"[145][145][145]"TAB(LEN(A$)+3);
  119. 118 RETURN
  120. 119 REM RED 80/06/30:REM INPUT ROUTINE
  121. 120 GETA$
  122. 121 GOSUB143
  123. 122 IFA$=","THENA$="[174]"
  124. 123 IFA$=""THEN120
  125. 124 IFA$=CR$THEN140
  126. 125 IFA$=IN$THEN120
  127. 126 IFA$=CHR$(34)THENA$="'"
  128. 127 IFA$<>DL$THEN130
  129. 128 IFLEN(SR$)<1THEN120
  130. 129 SR$=LEFT$(SR$,LEN(SR$)-1):PRINT"-[157][157]";:GOTO133
  131. 130 K=0:FORI=1TO8:IFA$=MID$(";:[147][145][157]",I,1)THENK=I
  132. 131 NEXT:IFK<>0THEN120
  133. 132 SR$=SR$+A$:PRINTA$;
  134. 133 IFPEEK(197)<>64AND(A$="[160]"ORA$=DL$)ANDLEN(SR$)<JJTHENFORV=1TO5:NEXT:GOTO120
  135. 134 IFLEN(SR$)<JJTHEN120
  136. 135 GETA$
  137. 136 GOSUB143
  138. 137 IFA$=CHR$(13)THEN140
  139. 138 IFA$=CHR$(20)THEN127
  140. 139 GOTO135
  141. 140 IFSR$=""THENSR$="NIL"
  142. 141 RETURN
  143. 142 REM CURSOR
  144. 143 PRINT"[166][157]";:FORI=1TO1:NEXT:PRINT" [157]";:RETURN
  145. 144 PRINT"T[146]APE OR D[146]ISK"
  146. 145 GETA$:IFA$<>"T"ANDA$<>"D"THEN145
  147. 146 INPUT"FILE NAME  [160][157][157][157]";FILE$
  148. 147 RETURN
  149.